貫徹在ruby on rails的其中一句話 "慣例優於設定",所有人都依照這個慣例在做事,即便你今天接到新專案也知道他是MVC的架構。
將每一個部分拆開來可以很清楚的知道哪些事處理畫面、邏輯該寫在哪裡、跟資料庫要檔案寫在哪比較好,跟你的午餐便當盒一樣分成一格一格,雖然混再一起也可以吃,但是這樣比較美觀,而且百年便當店也這麼做,你各位不要標新立異阿~
Model可以對資料直接存取,當 View 或 Controller 需要資料(讀取)或更新資料庫(新增、更新、刪除),假設你要搜尋某些資料,Model會將你所輸入的程式碼翻譯成SQL(資料庫查詢語言),你不需要自己輸入 SQL,Model 都幫你做好了。
把Model提供的資料呈現給在瀏覽器,關於前端的畫面都是由View負責處理。
從 routes 找到Controller的其中一個Action後。Action的工作就是根據客戶端傳來的資料告訴 Model 跟 View 該做甚麼事。
瀏覽器送出httprequest之後,會透過routes找到相對應的controller裡面的action,如果需要跟資料庫拿資料會透過model將你的程式碼翻譯成SQL,從資料庫拿到我們需要的資料後再渲染到view上面傳回到瀏覽器。
這樣子看得懂嗎?